package editor.cn;
class Solution198{
    public static void main(String[] args) {
        Solution solution = new Solution198().new Solution();
    }
    //leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public int rob(int[] nums) {
        int n=nums.length;
        int[] dp = new int[n+1];//dp[j]表示将截止j为止可以获得的最大财富。
        //初始化,这里要充分考虑到数组的长度，以及后面的循环i==2的前提是数组要有至少3个数字鸭！！
        dp[0]=nums[0];
        if (n==1)return dp[0];
        dp[1]=Math.max(nums[0],nums[1]);
        if (n==2)return dp[1];
        //地推公司 dp[j]=Math.max(dp[j-2]+nums[j-1],dp[j-1]);
        for (int j = 2; j < n ; j++) {
            dp[j]=Math.max(dp[j-2]+nums[j],dp[j-1]);
        }
        return dp[n-1];
    }
}
//leetcode submit region end(Prohibit modification and deletion)

}












